# 使用多阶段构建减小镜像体积
FROM python:3.12-slim AS builder


# 设置 pip 超时和镜像源
ENV PIP_DEFAULT_TIMEOUT=120 \
    PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple \
    PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn


WORKDIR /app
COPY requirements.txt .

# 安装依赖（使用预配置的镜像源和超时）
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --no-cache-dir --user -r requirements.txt

# 阶段二：运行环境
FROM python:3.12-slim
WORKDIR /app

# 从 builder 复制已安装的依赖
COPY --from=builder /root/.local /root/.local
#COPY  ./src ./src
ADD   ./src ./src


# 设置文件权限
# RUN chmod -R 755 /app/src

# 确保 PATH 包含用户级 Python 包
ENV PATH=/root/.local/bin:$PATH \
    PYTHONPATH=/app/src

# 打印 PYTHONPATH 用于调试
RUN echo "验证文件结构：" && ls -lR /app

# 暴露 FastAPI 端口
EXPOSE 8088

# 启动命令（按需调整）
CMD ["uvicorn", "src.app:app", "--host", "0.0.0.0", "--port", "8088"]